home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / UTILITY2 / RFDML120.ZIP / MCIMAIL.SCR < prev    next >
Text File  |  1994-01-18  |  12KB  |  407 lines

  1. ;------------------------------------------------------
  2. ;
  3. ;MCIMAIL.SCR --- The script file for MCI Mail
  4. ;
  5. ;------------------------------------------------------
  6. ;
  7. ;   We begin with the format specifiers to which allow
  8. ;the script to identify where the MailId, RealName,
  9. ;and Subject texts are in a newly downloaded letter.
  10. ;
  11. Format
  12. Subject: $SUBJECT$\n
  13. From: $NAME$/ MCI ID: $UID$\n
  14. From: $NAME$\n
  15.  MBX: $UID$\n
  16. Endformat
  17. ;
  18. ;------------------------------------------------------
  19. ; The following aliases define some of the standard
  20. ; MCI prompts:
  21. ;
  22. Alias loginprompt 'user name:'
  23. Alias passwdprompt '\nPassword:'
  24. Alias banner1 'MCI Mail'
  25. Alias prompt '\nCommand: '
  26. Alias scrollprompt 'type NO to stop'
  27. ;
  28. ;------------------------------------------------------
  29. ; The following aliases cause the script to use the
  30. ; ZMODEM transfer protocol to upload letters.  Comment
  31. ; them out if you wish to use KERMIT:
  32. ;
  33. Alias uploadproto ' zmodem'
  34. Alias uploadtype ZMODEM
  35. Alias uploadprompt 'Press CONTROL C to cancel the request'
  36. ;
  37. ; The following aliases cause the script to use the
  38. ; KERMIT transfer protocol to upload letters.  Comment
  39. ; them out if you wish to use ZMODEM:
  40. ;
  41. ;Alias uploadproto ' kermit'
  42. ;Alias uploadtype KERMIT
  43. ;Alias uploadprompt 'Press CONTROL C to cancel the request'
  44. ;
  45. ;------------------------------------------------------
  46. ; The following aliases cause the script to use the
  47. ; ZMODEM transfer protocol to download letters.  Comment
  48. ; them out if you wish to use KERMIT:
  49. ;
  50. Alias dnloadproto ' zmodem'
  51. Alias dnloadtype ZMODEM
  52. Alias dnloadprompt 'Press CONTROL C to cancel the request'
  53. ;
  54. ; The following aliases cause the script to use the
  55. ; KERMIT transfer protocol to download letters. Comment
  56. ; them out if you wish to use ZMODEM:
  57. ;
  58. ;Alias dnloadproto ' kermit'
  59. ;Alias dnloadtype KERMIT
  60. ;Alias dnloadprompt 'Press CONTROL C to cancel the request'
  61. ;
  62. ;------------------------------------------------------
  63. ; These states deal with logging in, by sending a CR
  64. ; followed by the username and password.
  65. ;
  66. Begin START
  67.    Caption 'connected'
  68.    Cr
  69.    When %loginprompt% Goto 1ST_USERNAME
  70.    Timeout 10 Goto START
  71. End
  72. ;------------------------------------------------------
  73. Begin 1ST_USERNAME
  74.    When %loginprompt% Goto USERNAME
  75.    Timeout 5 Goto USERNAME
  76. End
  77. ;------------------------------------------------------
  78. Begin USERNAME
  79.    Transmit $USERNAME
  80.    Cr
  81.    When %passwdprompt% Goto PASSWORD
  82.    When %loginprompt% Goto USERNAME
  83.    Timeout 45 Goto NO_LOGIN
  84. End
  85. ;------------------------------------------------------
  86. Begin PASSWORD
  87.    Transmit $PASSWORD
  88.    Cr
  89.    When %passwdprompt% Goto PASSWORD
  90.    When %loginprompt% Goto USERNAME
  91.    When 'Please try again' Goto INVALID_LOGIN
  92.    When %banner1% Goto LOGGED_IN
  93.    Timeout 45 Goto NO_LOGIN
  94. End
  95. ;------------------------------------------------------
  96. Begin INVALID_LOGIN
  97.    When %loginprompt% Goto USERNAME
  98.    When 'Please try again' Goto INVALID_LOGIN
  99.    Timeout 45 Goto NO_LOGIN
  100. End
  101. ;------------------------------------------------------
  102. Begin LOGGED_IN
  103.    Caption 'logged in'
  104.    When %banner1% Goto LOGGED_IN
  105.    When %prompt% Goto CHECK_INCOMING
  106.    Timeout 90 Goto NO_LOGIN
  107. End
  108. ;------------------------------------------------------
  109. Begin CHECK_INCOMING
  110.    If FETCHING Then CHECK_MAIL
  111.    Caption 'Sending Mail'
  112.    NewLetter
  113.    Timeout 1 Goto REQUEST_CREATE
  114. End
  115. ;------------------------------------------------------
  116. Begin CHECK_MAIL
  117.    Transmit 'scan inbox'
  118.    Cr
  119.    When 'Your INBOX is empty' Goto NO_MAIL
  120.    When 'message in INBOX' Goto HAVE_MAIL
  121.    When 'messages in INBOX' Goto HAVE_MAIL
  122.    Timeout 120 Goto GIVE_UP
  123. End
  124. ;------------------------------------------------------
  125. Begin NO_MAIL
  126.    Caption 'No Mail'
  127.    If MORE_LETTERS Then SEND_MAIL
  128.    When %prompt% Goto LOG_OFF
  129.    Timeout 30 Goto GIVE_UP
  130. End
  131. ;------------------------------------------------------
  132. Begin HAVE_MAIL
  133.    Caption 'You Have Mail'
  134.    ClearIndex
  135.    NextIndex
  136.    When %scrollprompt% Goto SCROLL_INBOX
  137.    When %prompt% Goto FETCH_MAIL
  138.    Timeout 120 Goto GIVE_UP
  139. End
  140. ;------------------------------------------------------
  141. Begin SCROLL_INBOX
  142.    Cr
  143.    When %scrollprompt% Goto SCROLL_INBOX
  144.    When %prompt% Goto FETCH_MAIL
  145.    Timeout 120 Goto GIVE_UP
  146. End
  147. ;------------------------------------------------------
  148. Begin FETCH_MAIL
  149.    Caption 'Fetching Mail'
  150.    Transmit 'download '
  151.    Transmit $INDEX
  152.    Transmit %dnloadproto%
  153.    Cr
  154.    When 'press RETURN to skip this segment' Goto SEND_FILENAME
  155.    When 'There is no message numbered' Goto NO_MORE_MAIL
  156.    Timeout 30 Goto GIVE_UP
  157. End
  158. ;------------------------------------------------------
  159. Begin SEND_FILENAME
  160.    Transmit $LETTER.FILENAME
  161.    Cr
  162.    When %dnloadprompt% Goto DOWNLD_LETTER
  163.    Timeout 30 Goto CANCEL_DOWNLOAD
  164. End
  165. ;------------------------------------------------------
  166. Begin CANCEL_DOWNLOAD
  167.    Control X
  168.    Control X
  169.    Control C
  170.    Control C
  171.    When %prompt% Goto FETCH_MAIL
  172.    Timeout 30 Goto GIVE_UP
  173. End
  174. ;------------------------------------------------------
  175. Begin DOWNLD_LETTER
  176.    Download %dnloadtype% Then DOWNLD_SUCCESS Else GIVE_UP
  177. End
  178. ;------------------------------------------------------
  179. Begin DOWNLD_SUCCESS
  180.    Caption 'Letter Received'
  181.    Confirm LETTER.RECEIVED Successful
  182.    NextIndex
  183.    When 'Download request complete' Goto WAIT_FOR_NEXT
  184.    Timeout 30 Goto WAIT_FOR_NEXT
  185. End
  186. ;------------------------------------------------------
  187. Begin WAIT_FOR_NEXT
  188.    When %prompt% Goto FETCH_MAIL
  189.    Timeout 30 Goto GIVE_UP
  190. End
  191. ;------------------------------------------------------
  192. Begin NO_MORE_MAIL
  193.    Caption 'Fetched Mail'
  194.    If MORE_LETTERS Then SEND_MAIL
  195.    When %prompt% Goto LOG_OFF
  196.    Timeout 30 Goto GIVE_UP
  197. End
  198. ;------------------------------------------------------
  199. Begin SEND_MAIL
  200.    Caption 'Sending Mail'
  201.    NewLetter
  202.    When %prompt% Goto REQUEST_CREATE
  203.    Timeout 30 Goto GIVE_UP
  204. End
  205. ;------------------------------------------------------
  206. Begin REQUEST_CREATE
  207.    Transmit 'create'
  208.    Cr
  209.    When 'TO:' Goto TRANSMIT_DEST
  210.    Timeout 20 Goto GIVE_UP
  211. End
  212. ;------------------------------------------------------
  213. Begin NOT_EMP
  214.    Transmit 'Y'
  215.    Cr
  216.    When 'CC:' Goto DO_CC
  217.    When 'TO:' Goto TRANSMIT_CR
  218.    When 'Please enter the number:' Goto ABORT_CREATE
  219.    Timeout 20 Goto GIVE_UP
  220. End
  221. ;------------------------------------------------------
  222. Begin TRANSMIT_DEST
  223.    Transmit $LETTER.DEST.USERNAME
  224.    Cr
  225.    When 'TO:' Goto TRANSMIT_CR
  226.    When 'Include this Recipient (Yes or No)?' Goto NOT_EMP
  227.    When 'Please enter the number:' Goto ABORT_CREATE
  228.    Timeout 20 Goto GIVE_UP
  229. End
  230. ;------------------------------------------------------
  231. Begin TRANSMIT_CR
  232.    Cr
  233.    When 'CC:' Goto DO_CC
  234.    Timeout 20 Goto GIVE_UP
  235. End
  236. ;------------------------------------------------------
  237. Begin DO_CC
  238.    If LETTER.CC Then TRANSMIT_CC
  239.    Cr
  240.    When 'Subject:' Goto SEND_SUBJECT
  241. End
  242. ;------------------------------------------------------
  243. Begin TRANSMIT_CC
  244.    CreateCC 1 0 Delimiter ' '
  245.    Transmit $LETTER.CC
  246.    Cr
  247.    When 'CC:' Goto DO_CC
  248.    When 'Include this Recipient (Yes or No)?' Goto NOT_EMP
  249.    When 'Please enter the number:' Goto ABORT_CREATE
  250.    Timeout 20 Goto GIVE_UP
  251. End
  252. ;------------------------------------------------------
  253. Begin SEND_SUBJECT
  254.    Transmit $LETTER.SUBJECT
  255.    Cr
  256.    When 'Type / on a line by itself to end' Goto REQUEST_UPLOAD
  257.    When 'Subject:' Goto SEND_SUBJECT
  258.    Timeout 30 Goto GIVE_UP
  259. End
  260. ;------------------------------------------------------
  261. Begin REQUEST_UPLOAD
  262.    Caption 'Uploading Letter'
  263.    Transmit '/upload ascii'
  264.    Transmit %uploadproto%
  265.    Cr
  266.    When %uploadprompt% Goto UPLOAD_LETTER
  267.    Timeout 30 Goto GIVE_UP
  268. End
  269. ;------------------------------------------------------
  270. Begin UPLOAD_LETTER
  271.    Upload %uploadtype% Then UPLD_SUCCESS Else UPLD_FAILURE
  272. End
  273. ;------------------------------------------------------
  274. Begin UPLD_FAILURE
  275.    Confirm LETTER.SENT Unsuccessful
  276.    Timeout 1 Goto GIVE_UP
  277. End
  278. ;------------------------------------------------------
  279. Begin UPLD_